﻿using IMModel.Domain;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using IMModel.Domain.Common;
using System.Data.Linq;
using System.Linq;
using System.Collections.Generic;
using System.Globalization;
using IMModel;
using System.Windows.Forms;
using System.IO;
using System.Text;

namespace IMTests
{
    /// <summary>
    ///This is a test class for TermTest and is intended
    ///to contain all TermTest Unit Tests
    ///</summary>
    [TestClass()]
    public class NewYear
    {
        Term T1, T2;
        IMDataDataContext DB;

        #region To All
        Person CreatePers(string s)
        {
            var sp = s.Trim().Split(' ');
            return new Person()
            {
                LastName = sp[0],
                FirstName = sp[1],
                Patronymic = sp[2],
                E_Mail = "---"
            };
        }
        
        #endregion

        void CopyStepenj()
        {
            T2.PersonDegrees.AddRange(T1.PersonDegrees.Select(x => new PersonDegree()
            {
                Degree = x.Degree,
                IDDegree = x.IDDegree,
                IDPerson = x.IDPerson,
                Person = x.Person,
                IDTerm = T2.IDTerm,
                Term = T2
            }));
        }

        void AddDoctor()
        {
            //T2.PersonDegrees.Clear();
            var d = DB.Degrees.Single(x => x.IDDegree == 2);
            var l = @"Балыкин Михаил Васильевич
Бочаров Михаил Иванович
Броило Елена Валериевна
Бурмистрова Ольга Николаевна
Быков Игорь Юрьевич
Вулих Наталия Васильевна
Дворецкая Екатерина Викторовна
Землянский Владимир Никитич
Каюков Владимир Викторович
Кобрунов Александр Иванович
Копейкин Валерий Александрович
Кочетков Олег Сергеевич
Крупенский Владимир Ильич
Кучерявый Василий Иванович
Ланина Татьяна Дмитриевна
Некучаев Владимир Орович
Пармузина Любовь Васильевна
Постников Василий Григорьевич
Рузин Леонид Михайлович
Хегай Валерий Константинович
Чупров Илья Федорович
Ягубов Зафар Хангусейн оглы
Андронов Иван Николаевич
Сотникова Ольга Александровна
Цхадая Николай Денисович"
.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries).Distinct();

            var perss = DB.Persons.ToArray();

            foreach (var s in l)
            {
                var wp = perss.Where(p => p.FullNameTrim == s);
                Person pers;

                if (wp.Any())
                {
                    pers = wp.First();
                    if (T2.PersonDegrees.Any(xx => xx.IDPerson == pers.IDPerson))
                    {
                        Console.WriteLine("Уже есть: " + s);
                        continue;
                    }
                }
                else
                {
                    pers = CreatePers(s);
                    Console.WriteLine("Создана новая персона: " + s);
                }

                T2.PersonDegrees.Add(new PersonDegree()
                                    {
                                        Degree = d,
                                        IDDegree = d.IDDegree,
                                        IDPerson = pers.IDPerson,
                                        Person = pers,
                                        IDTerm = T2.IDTerm,
                                        Term = T2
                                    });
                Console.WriteLine("Добавлен: " + s);
            }
            Console.WriteLine("Готово");
        }

        void AddPrepod()
        {
            //T2.PersonDegrees.Clear();
            var p = DB.Persons;
            var d = DB.DepartmentTerms.Single(x=>x.Department.Abbriviation == "12" && x.Term.IDTerm == 23);
            //.Degrees.Single(x => x.IDDegree == 2);

            var l = @"Бессараб Кирилл Алексеевич
Вилежанинов Сергей Михайлович
Вокуева Тамара Васильевна
Гида Константин Федорович
Караханлы Якуб Акпер оглы
Кочергин Глеб Андреевич
Кудринский Владислав Сергеевич
Кузнецов Иван Александрович
Мальцев Дмитрий Игоревич
Можарцев Вадим Сергеевич
Островский Илья Сергеевич
Пьянов Владимир Олегович
Саврасова Александра Владимировна
Сериков Константин Иванович
Соболев Илья Михайлович
Сосин Богдан Михайлович
Старцев Александр Викторович
Стах Дмитрий Андреевич
Титов Константин Олегович
Черняускас Денис Владиславович
Щеклеин Александр Юрьевич"
.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries).Distinct();

            var perss = DB.Persons.ToArray();
            var j = DB.Jobs.First(x=>x.Position.Name == "Студент");

            foreach (var s in l)
            {
                var wp = perss.Where(x => x.FullNameTrim == s.Trim());
                Person pers;

                if (wp.Any())
                {
                    pers = wp.First();
                    if (T2.PersonDegrees.Any(xx => xx.IDPerson == pers.IDPerson))
                    {
                        Console.WriteLine("Уже есть: " + s);
                        continue;
                    }
                }
                else
                {
                    pers = CreatePers(s);
                    Console.WriteLine("Создана новая персона: " + s);
                }

                var r = new Respondent()
                {
                    DepartmentTerm = d,
                    Job = j,
                    IDJob = j.IDJob,
                    IDPerson = pers.IDPerson,
                    Person = pers,
                    FlagOsnJob = true
                };
                d.Respondents.Add(r);
                Console.WriteLine("Добавлен: " + s);
            }
            Console.WriteLine("Готово");
        }

        void CopyCat()
        {
            T2.CategoryTerms.AddRange(T1.CategoryTerms.Select(x => new CategoryTerm()
            {
                Category = x.Category,
                IDCategory = x.IDCategory,
                Weight = x.Weight,
                IDTerm = T2.IDTerm,
                Term = T2
            }));
        }

        //void CopyGrad()
        //{
        //    T2.GradationTerms.AddRange(T1.GradationTerms.Select(x => new GradationTerm()
        //    {
        //        BottomLimit = x.BottomLimit,
        //        Gradation = x.Gradation,
        //         IDGradation = x.IDGradation,
        //           IDUnit = x.IDUnit, 
        //           Order = x.Order, 
        //        TopLimit = x.TopLimit,
        //        Unit = x.Unit,
        //        Category = x.Category,
        //        IDCategory = x.IDCategory,
        //        Weight = x.Weight,
        //        IDTerm = T2.IDTerm,
        //        Term = T2
        //    }));
        //}GradationTerm1

#region Set cat 
		// 1.2.12 -> 12
        int LastOrd(string s)
        {
            var l = s.Length - 1;
            int i = 0;
            if(char.IsDigit(s[l-1])) --l;
            int.TryParse(s.Substring(l), out i);
            return i;
        }

        bool Betveen(string s, int min, int max)
        { 
            var i = LastOrd(s);
            return i >= min && i <= max;
        }

        void SetCat(IEnumerable<CharacteristicTerm> pok, int idCat, int from, int to, int idST)
        {
            var cst = DB.CategorySectionTerms.Where(x => x.CategoryTerm.IDCategory == idCat
                && x.IDSectionTerm == idST);
            CategorySectionTerm c;
            if (cst.Any()) c = cst.First();
            else
            {
                Console.WriteLine("Добавка");
                var ct = T1.CategoryTerms.Single(x => x.IDCategory == idCat);
                var st = T1.SectionTerms.Single(x => x.IDSectionTerm == idST);
                c = new CategorySectionTerm()
                {
                    //SectionTerm = DB.SectionTerms.Single(x => x.IDSectionTerm == idST)
                    IDSectionTerm = st.IDSectionTerm,
                    IDCategoryTerm = ct.IDCategoryTerm,
                };
                ct.CategorySectionTerms.Add(c);
                st.CategorySectionTerms.Add(c);
                DB.CategorySectionTerms.InsertOnSubmit(c);
            }
            //pok.Last().CategorySectionTerm.SectionTerm.CategorySectionTerms
            //.First(x=>x.CategoryTerm.IDCategory == idCat);

            foreach (var v in pok.Where(x => Betveen(x.Order, from, to)))
            {
                if (v.CategorySectionTerm != c)
                {
                    Console.WriteLine(v.CategorySectionTerm + " -> " + c);
                    v.CategorySectionTerm = c;
                }
            }
        }

        void SetCat(int IDTerm, string Order, int act, int rez, int ext)
        {
            //var s = T2.CharacteristicTerms.Where(x => x.CategorySectionTerm.IDSectionTerm == 165);
            //SetCat(s, 1, 1, 1);
            //SetCat(s, 2, 2, 6);
            //SetCat(s, 3, 7, 11);
            //SetCat(s, 4, 12, 14);
            T1 = DB.Terms.Single(x => x.IDTerm == IDTerm);
            var st = T1.SectionTerms.Single(x => x.Order == Order);
            var idST = st.IDSectionTerm;
            var s = T1.CharacteristicTerms.Where(x => x.CategorySectionTerm.IDSectionTerm == idST);
            SetCat(s, 1, 1, act - 1, idST);
            SetCat(s, 2, act, rez - 1, idST);
            SetCat(s, 3, rez, ext - 1, idST);
            SetCat(s, 4, ext, 1000, idST);
        }

        void PacetSet()
        {
            //SetCat(10, "1.1", 2, 4, 7);
            //SetCat(10, "4.1", 3, 8, 14);
            //SetCat(10, "2", 2, 7, 12);
            SetCat(10, "6.1", 4, 9, 11);
            //SetCat(17, "1.1", 2, 4, 7);
            //SetCat(17, "1.2.1", 3, 6, 8);
            //SetCat(17, "1.2.2", 3, 6, 7);
            //SetCat(17, "2", 2, 5, 10);
            //SetCat(17, "3", 2, 5, 8);
            //SetCat(17, "4.1", 2, 6, 10);
            //SetCat(17, "4.2", 1, 3, 6);
            //SetCat(17, "5.1", 0, 1, 4);
            //SetCat(17, "5.2", 2, 4, 4);
            //SetCat(17, "5.3", 0, 1, 3);
            //SetCat(17, "6.1", 4, 8, 10);
            //SetCat(17, "6.2", 3, 6, 9);
        }
	#endregion

        void SetKollege()
        {
            //var tu = DB.Terms.Single(x => x.IDTerm == 10);
            //var tk = DB.Terms.Single(x => x.IDTerm == 17);
            var s = DB.Terms.Single(x => x.IDTerm == 17).CharacteristicTerms;
            var re = DB.Responsibles.Where(x => x.Position.Name == "Заместитель директора").ToList();
            foreach (var v in s)
            {
                //var l = v.CharacteristicResponsibles.Where(x =>
                //        !x.Responsible.Position.IsTotal).ToList();
                var l = v.CharacteristicResponsibles.Where(x =>
                        x.Responsible.Position.Name.StartsWith("Проректор")).ToList();
                if (l.Count() > 0)
                //x.Responsible.Position.Name.StartsWith("Заведующий ка")) > 10)
                {
                    var ct = l.First().CharacteristicTerm;
                    //foreach (var i in l) v.CharacteristicResponsibles.Remove(i);
                    foreach (var i in re)
                        v.CharacteristicResponsibles.Add(
                        new CharacteristicResponsible()
                        {
                            CharacteristicTerm = ct,
                            IDCharacteristicTerm = ct.IDCharacteristicTerm,
                            Responsible = i,
                            IDResponsible = i.IDResponsible,
                        });
                }
                try
                {
                    DB.SubmitChanges();
                    Console.WriteLine(v.Characteristic.Name + " + ");
                }
                catch (Exception e)
                {
                    foreach (var i in l) v.CharacteristicResponsibles.Add(i);
                    //DB.Refresh(RefreshMode.OverwriteCurrentValues,v.CharacteristicResponsibles);
                    //DB.Transaction.Rollback();
                    Console.WriteLine(v.Characteristic.Name + " - ");
                }
            }
        }

        void AddResponsibles()
        {
            //T2.PersonDegrees.Clear();
            T2 = DB.Terms.Single(x => x.IDTerm == 23);
            var dd = DB.Responsibles.Where(x => x.Position.Name == "Староста группы");
            //var d = dd.First();
            var hcar = T2.CharacteristicTerms;

            foreach (var d in dd)
            {
                foreach (var s in hcar)
                {
                    if (!s.CharacteristicResponsibles.Any(x => x.IDResponsible == d.IDResponsible))
                    {
                        var p = new CharacteristicResponsible()
                            {
                                IDResponsible = d.IDResponsible,
                                CharacteristicTerm = s,
                                IDCharacteristicTerm = s.IDCharacteristicTerm,
                                Responsible = d
                            };

                        //s.CharacteristicResponsibles.Add(p);
                        DB.CharacteristicResponsibles.InsertOnSubmit(p);
                    }
                }
            }
            Console.WriteLine("Готово");
        }

        void MoveToDepartment(string from, string to)
        {
            T1 = DB.Terms.Single(x => x.IDTerm == 10);
            var f = T1.DepartmentTerms.Single(x => x.Department.Abbriviation == from);
            var t = T1.DepartmentTerms.Single(x => x.Department.Abbriviation == to);
            foreach (var v in f.Respondents.ToList())
            {
                f.Respondents.Remove(v);
                t.Respondents.Add(v);
                v.IDDepartmentTerm = t.IDDepartmentTerm;
                v.DepartmentTerm = t;
            }
        }


        [TestMethod()]
        public void Import()
        {
            DB = new IMDataDataContext("Data Source=ugtudb;Initial Catalog=IndexMark;Integrated Security=True");
            T1 = DB.Terms.Single(x => x.IDTerm == 23);
            T2 = DB.Terms.Single(x => x.IDTerm == 23);

            // добавление докторов
            //AddDoctor();
            //CopyCat();
            //SetKollege();

            // Установка категорий для показателей
            //PacetSet();

            // Перемещение всех сотрудников из 1 кафедры в другую
            //MoveToDepartment("ТМ", "ТМ и НГ");

            // Внесение средних баллов успеваемости из списка s
            string s;
#region данные
            s = @"Абрамичева Тамара Витальевна	97.59	82.13
Александров Валентин Александрович	95.45	95.45
Андрухова Ольга Витальевна	85.51	72.46
Андрухова Светлана  Дмитриевна	95.00	50.00
Андрухова Светлана  Дмитриевна	94.16	47.45
Антонов Юрий Александрович	95.24	80.95
Артеева Людмила Вячеславовна	59.88	32.10
Ашихмина Анна  Викторовна	83.33	66.67
Бабыкина Н Н	93.33	46.67
Бабыкина Наталья Николаевна	94.34	67.92
Базарова Ирина Александровна	62.65	40.96
Бакулина Людмила Прокофьевна	88.61	49.37
Бармина Татьяна Анатольевна	59.26	40.74
Бегинина Любовь Валериевна	77.78	63.49
Безгодов Дмитрий Николаевич	98.25	78.07
Белина Наталья Викторовна	51.72	27.59
Белкина Наталья Григорьевна	67.24	22.41
Белоусов Дмитрий Вячеславович	63.77	26.09
Белякова Лариса Оскаровна	91.18	61.76
Берговина Мария Леонидовна	76.00	62.00
Бердник А Г	90.48	57.14
Бердник Александр Григорьевич	89.35	69.82
Бердник Мария Михайловна	98.04	78.43
Берловская Е В	90.27	69.73
Берловская Елена Вячеславовна	82.76	69.83
Блохина  Екатерина Дмитриевна	100.00	100.00
Бобылева Татьяна Вадимовна	70.11	33.33
Богданов Борис Павлович	83.33	NULL
Богданов Николай Павлович	77.97	24.58
Бойченко Лидия Петровна	89.16	71.08
Болкина А А	74.32	55.41
Болкина Анна Александровна	84.38	71.88
Борисова Ирина Карловна	85.29	50.00
Борисова Ольга Владимировна	61.29	51.61
Борозинец Ленфрид Григорьевич	100.00	100.00
Бочаров Михаил Иванович	100.00	56.25
Броило Елена Валериевна	95.24	53.57
Бубличенко Владимир Николаевич	82.82	38.52
Бурмистрова Ольга  Николаевна	100.00	100.00
Бурмистрова Ольга Николаевна	78.85	53.85
Буслаев Георгий Викторович	92.70	85.39
Быков Игорь Юрьевич	66.67	66.67
Васильев Валерий Владимирович	94.44	38.89
Васильев Яков Юрьевич	91.30	69.57
Васильчев Денис Александрович	69.23	25.64
Васильчев Дмитрий Алексеевич	75.00	NULL
Вельтистова О М	100.00	57.14
Вельтистова Ольга Михайловна	86.67	73.33
Вербаховская Раиса Абрамовна	73.37	22.11
Веряскина Елена Михайловна	55.60	23.13
Веселов Станислав Андреевич	91.92	90.91
Витович Борис Александрович	93.91	81.74
Вишневская Надежда Семеновна	98.05	84.42
Власов Владимир Петрович	63.06	38.74
Вокуева Татьяна Анатольевна	61.70	48.94
Волков Александр Алексеевич	80.68	57.95
Волкова Вера Ивановна	100.00	40.00
Волкова Ирина Ивановна	76.58	28.16
Волобуева Ольга  Николаевна	84.00	32.00
Воловик Ольга Владимировна	91.67	62.50
Вологин Евгений Анатольевич	87.54	84.78
Волосунов Михаил Владимирович	84.62	53.85
Ворков Андрей Александрович	100.00	90.00
Воронина Марина Александровна	92.31	79.49
Воронина Марина Александровна	80.00	80.00
Воронина Марина Александровна	92.31	79.49
Воронина Марина Александровна	80.00	80.00
Вострикова Юлия Владиславовна	54.90	33.33
Высоцкая Наталья Викторовна	76.06	42.25
Габова Мария Николаева	71.88	12.50
Галкин Дмитрий Эдвардович	90.48	76.19
Гацалов Мисост Муссаевич	82.81	53.13
Голубев Юрий Дмитриевич	100.00	92.59
Горяева Галина Нарановна	100.00	NULL
Греков  Виктор Васильевич	57.14	16.33
Гузенко Ольга Геннадьевна	91.67	58.33
Гуков Владимир Валерьевич	100.00	100.00
Гусева Елена Николаевна	85.51	53.62
Давидов Денис Васильевич	91.07	69.64
Данилов Георгий Владимирович	78.36	66.42
Девальтовская Светлана Эдуардовна	42.86	14.29
Девальтовский Евгений Эдуардович	61.11	26.67
Дейнега Светлана Александровна	84.31	47.06
Дементьев Иван Алексеевич	94.41	88.81
Деминская Наталия Григорьевна	93.10	89.66
Демченко Наталья Павловна	82.35	64.71
Дмитриевский Константин Николаевич	95.71	95.71
Довжикова Елена Геннадьевна	100.00	93.75
Долгушин Николай Васильевич	100.00	100.00
Дроздовский Георгий Петрович	94.12	67.65
Дудников Виталий Юрьевич	91.89	56.76
Думицкая Наталья Геннадьевна	84.57	32.00
Дуркин  Сергей Михайлович	100.00	86.96
Дуркин Василий Вячеславович	NULL	NULL
Душенко Татьяна Васильевна	85.71	52.38
Евсеев Сергей Николаевич	100.00	NULL
Евстифеев  Дмитрий  Викторович	100.00	83.33
Екимова Светлана Евгеньевна	75.39	39.12
Енцов Илья Иванович	100.00	100.00
Енцова Валентина Ильинична	85.71	71.43
Ерохин Павел Иванович	92.31	50.00
Ерохина Лариса Алексеевна	71.25	47.50
Ершов Александр Александрович	92.11	71.29
Жевнеренко Василий Александрович	89.89	55.23
Жемчугова Валентина Алексеевна	52.94	35.29
Жигалова Анастасия Владимировна	77.78	55.56
Жилина Елена Владимировна	75.97	18.22
Жилина Елена Владимировна	75.97	18.22
Жингаровский Анатолий Николаевич	100.00	NULL
Жуйков Андрей Евгеньевич	78.76	46.72
Жукова Любовь Николаевна	87.13	30.69
Журова Татьяна Викторовна	100.00	57.14
Заборовская Валерия Владимировна	81.98	57.66
Заварина Мария Павловна	75.00	39.29
Задорожная Алла Алексеевна	100.00	100.00
Заремба Ирина Вячеславовна	59.62	48.08
Засовская Мария Александровна	85.00	40.00
Землянская Анна Владимировна	80.43	60.87
Землянский Владимир Никитич	100.00	95.45
Зодьбинов Валерий  Сергеевич	64.00	42.40
Зубарев Сергей Алексеевич	94.83	89.66
Зуев Михаил Юрьевич	77.78	41.67
Зуева Ирина Леонидовна	92.31	92.31
Иванова  Аделина Степановна	NULL	NULL
Иванова Елена Сергеевна	86.84	57.89
Ивенина Ирина Владимировна	74.26	16.88
Игнатенко  Татьяна Сергеевна	NULL	NULL
Исаева Халисат Зауровна	74.68	50.63
Каменских Сергей Владиславович	50.00	50.00
Каменских Сергей Владиславович	73.13	67.16
Канева Екатерина Александровна	73.91	35.87
Канева Марина Константиновна	95.19	82.69
Канева Татьяна Владимировна	92.26	84.52
Карабинская Лариса Михайловна	68.24	54.12
Карманова Ольга Александровна	67.24	37.93
Каюков Алексей Владимирович	87.30	71.43
Каюков Владимир Викторович	83.08	67.16
Кейн Евгений Иосифович	74.41	51.66
Кейн Ольга Павловна	81.71	52.44
Кейн Светлана Александровна	94.44	83.33
Климочкина Наталья Ивановна	83.73	55.98
Кобрунов Александр Иванович	92.86	71.43
Кодочигов Владимир Витальевич	100.00	100.00
Козлова Любовь Федоровна	76.74	72.09
Коломинова Марина Витальевна	95.24	38.10
Коновалов Максим Николаевич	89.06	77.50
Коншина Мария Валерьевна	100.00	75.00
Копейкин Валерий Александрович	96.15	68.46
Коптяев Дмитрий Леонидович	85.71	85.71
Коптяева Галина Борисовна	86.49	57.66
Корабельников Владислав Аркадьевич	96.30	66.67
Корж Владимир Васильевич	98.89	86.67
Король  Сергей Александрович	94.74	82.46
Коротков Юрий Викторович	72.50	45.00
Косарева Анна Александровна	93.62	65.96
Кочетков Олег Сергеевич	83.49	63.30
Краснова Юлия  Леонидовна	100.00	74.07
Крестовских Татьяна Сергеевна	80.50	59.22
Кримчеева Гюльнара Гусейновна	73.08	73.08
Круглий Альбина Викторовна	100.00	100.00
Крупенский Владимир Ильич	86.59	31.20
Круссер Николай Георгиевич	80.00	20.00
Крючков Сергей Владимирович	85.71	33.33
Ксенз Татьяна Геннадиевна	87.50	81.25
Куделин Артем Георгиевич	100.00	NULL
Куделин Артем Георгиевич	79.14	59.36
Кудряшова Ольга Михайловна	81.03	48.28
Кузьминова Ирина Васильевна	100.00	73.68
Кузьминова Ирина Владимировна	100.00	100.00
Кузьминых Дмитрий Владимирович	98.18	92.73
Кулешов Владислав Евгеньевич	87.02	62.60
Кустышев Андрей Николаевич	79.69	34.38
Кучерявый Василий Иванович	100.00	100.00
Ланина Татьяна Дмитриевна	75.00	26.67
Лапина Наталья Николаевна	50.00	23.33
Ларева Александра Геннадьевна	89.06	51.56
Латышев Александр Александрович	85.37	39.02
Липилина Раиса Анверовна	100.00	93.33
Лихачев Владимир Николаевич	100.00	100.00
Лихачева Инна Алексеевна	86.73	69.39
Логачев Юрий Леонидович	97.33	65.33
Ложкина Татьяна Владимировна	72.73	22.73
Мазурина  Елена  Валентиновна	87.10	67.74
Майорова Наталья Сергеевна	100.00	40.00
Манжиков Анатолий Васильевич	80.75	54.66
Маракасов Феликс Владимирович	72.84	44.44
Маркова Нина Михайловна	91.60	62.18
Мартынов Андрей Вениаминович	100.00	43.33
Мартынова Галина Владимировна	67.37	30.53
Мартюшев Сергей Миронович	39.13	28.26
Маслова Лидия Андреевна	90.78	82.27
Матвеева Светлана <без отчества>	83.33	66.67
Миклина Ольга Алексеевна	93.94	84.85
Минова Надежда Петровна	90.28	43.06
Миронова Анна Анатольевна	100.00	NULL
Миронюк Александр Васильевич	88.10	71.43
Михайленко Екатерина Викторовна	59.46	48.65
Михалев Андрей Юрьевич	81.56	54.61
Михеев Михаил Александрович	100.00	100.00
Михитаров Александр Рафаилович	97.37	68.42
Михитарова  Марина  Васильевна	94.74	63.16
Мордвинов Александр Антонович	81.42	38.50
Морозов Олег Александрович	72.73	56.82
Морозюк Олег  Александрович	81.97	72.96
Москалева Александра Николаевна	66.67	66.67
Москалева Евгения Михайловна	86.05	74.42
Москалюк Дмитрий Александрович	94.74	94.74
Мотрюк Екатерина Николаевна	79.53	16.37
Мужикова Александра Владимировна	70.20	18.37
Мучулаев Юрий Анатольевич	95.24	9.52
Назарова Инесса Георгиевна	91.55	65.26
Не указан Не указано Не указано	68.06	61.11
Некрасов  Павел Александрович	89.05	70.80
Некучаев Владимир Орович	75.22	32.11
Некучаева Нина Аркадьевна	96.08	70.59
Немысский Олег Станиславович	100.00	93.75
Никонов Николай Иванович	100.00	44.44
Нор А В	84.06	23.19
Нор Алексей Вячеславович	83.78	70.27
Нор Елена Владимировна	72.73	40.91
Носова Татьяна Владимировна	90.48	76.19
Осадчая Галина Григорьевна	93.75	93.75
Осипова Н П	93.42	55.26
Осипова Наталья Александровна	87.23	53.19
Очир-Горяев В П	100.00	89.29
Очир-Горяев Владимир Петрович	92.31	82.91
Павловская Алла Васильевна	90.00	70.00
Пантилеенко Владимир Николаевич	79.53	50.39
Пармузин Петр Николаевич	90.32	50.00
Пармузина Любовь Васильевна	59.04	31.33
Паршин Владимир Дмитриевич	87.50	87.50
Паршина Любовь Михайловна	100.00	86.84
Перхуткин Владимир Павлович	90.00	78.00
Петров Геннадий Владимирович	100.00	NULL
Петров Михаил Кириллович	100.00	88.89
Петров Николай Александрович	79.66	54.24
Петров Сергей Владимирович	90.34	84.14
Пильник Юлия Николаевна	100.00	NULL
Пименова Галина Ивановна	70.20	42.86
Пластинина Екатерина Владимировна	76.50	45.73
Плюснин Александр Николаевич	89.74	70.51
Плюснина Оксана Владимировна	87.73	39.26
Плякин Анатолий Митрофанович	84.75	34.75
Полетаев Сергей Васильевич	70.85	39.91
Полубоярцев Евгений Леонидович	89.70	53.33
Пономарев Николай Степанович	69.46	35.93
Пономарева Наталия Владимировна	95.24	52.38
Попов Александр Сергеевич	78.95	23.68
Постников Василий Григорьевич	94.21	90.73
Проскуряков Александр Александрович	84.62	15.38
Прудникова Ольга Михайловна	79.51	36.07
Пузырева Наталья Евгеньевна	78.57	73.81
Пузырева Татьяна Владимировна	91.67	75.00
Пшеничникова Людмила Харлампиевна	87.07	83.62
Пятибрат Владимир Павлович	85.33	39.13
Радкевич Александра Порфирьевна	95.60	94.34
Разманова Светлана Валерьевна	54.55	36.36
Рохина Раиса Сергеевна	86.96	43.48
Рочев Алексей Николаевич	98.21	91.07
Рочев Константин Васильевич	57.14	50.00
Рузин Леонид Михайлович	76.47	72.55
Рыбина Елена Александровна	100.00	53.85
Рэйляну Раду Иванович	95.24	66.67
Савич Василий Леонидович	100.00	60.00
Сальников Александр Викторович	78.02	56.04
Саматова Тамара Борисовна	89.93	47.65
Санджиев  Мерген Александрович	75.44	56.14
Сапрыкина Юлия Александровна	82.69	47.12
Северова Нина Александровна	83.62	43.97
Семериков Александр Вениаминович	74.74	46.32
Сенькин Николай Александрович	74.42	39.53
Сердитова Нина Александровна	76.32	61.84
Серебро Оксана Александровна	66.20	50.70
Серкова Валентина  Ивановна	100.00	NULL
Серкова Валентина Ивановна	100.00	NULL
Серов Игорь Константинович	88.57	34.29
Сиваш Наталья Сергеевна	93.75	75.00
Сирина Елена Анатольевна	76.47	55.88
Сичинава Галина Алексеевна	92.68	59.02
Смирнов Александр Николаевич	100.00	22.73
Смирнов Юрий Геннадиевич	89.67	68.54
Смирнова Татьяна Александровна	100.00	NULL
Снопок Дмитрий Николаевич	88.89	77.78
Соколовская Елена Николаевна	95.36	55.71
Солдатенков Вячеслав Иванович	90.91	77.27
Солдатенкова Ольга Вячеславовна	98.57	80.00
Соловьев Владимир Вениаминович	88.24	55.61
Сотникова Ольга Александровна	70.00	38.57
Сочко Светлана Сергеевна	69.64	26.79
Старцев Андрей Эврикович	63.54	41.99
Столярчук Галина Алексеевна	84.09	70.45
Суранов Григорий Иванович	75.00	41.67
Суханова Валентина Ильинична	92.31	46.15
Сушков Владислав  Викторович	100.00	87.50
Сычева Реана Васильевна	96.53	83.33
Тебердеева Лариса Вячеславовна	77.78	59.26
Теплов Евгений Львович	65.71	37.14
Тетенькин Евгений Николаевич	96.55	78.62
Тетеревлева Елена Владимировна	80.77	43.41
Тимохова Оксана Михайловна	88.89	22.22
Тодосеева Наталья Алексеевна	100.00	100.00
Туманова Ольга Николаевна	94.19	84.30
Турова Ирина Владимировна	92.73	80.00
Уляшева Вера Михайловна	79.66	72.88
Уляшева Надежда Михайловна	84.78	65.22
Фалин Владимир Викторович	89.89	64.04
Фаузер Виктор Вильгельмович	91.86	70.93
Фаузер Виктор Вильгельмович	91.86	70.93
Федоров Евгений Васильевич	100.00	NULL
Федотов Николай Сергеевич	68.15	29.30
Федотова Людмила Федоровна	82.41	25.93
Фомин  Александр Семенович	51.39	50.00
Хатанзейский Василий Иринеевич	64.77	23.86
Хегай Валерий Константинович	74.56	27.51
Хозяинова Татьяна Вадимовна	42.11	42.11
Хомяков Андрей Анатольевич	85.15	74.26
Цуканова Анастасия Николаевна	93.33	93.33
Цыгарова Марина Валентиновна	100.00	100.00
Цыгарова Марина Валентиновна	75.56	29.63
Чаадаев К Е	83.33	46.15
Чаадаев Константин Евгеньевич	84.31	31.37
Чеповская Наталья Валентиновна	85.71	62.86
Чупраков Алексадр Михайлович	88.46	40.38
Чупров Илья Федорович	89.35	32.65
Чурюмов  Вячеслав Юзикович	75.86	34.48
Чурюмов Вячеслав Юзикович	72.06	26.47
Чурюмов Вячеслав Юзикович	100.00	NULL
Шадрина Лидия Константиновна	84.42	45.45
Шамбулина Вера Николаевна	90.91	18.18
Шешуков Дмитрий Андреевич	83.33	70.83
Шилова Светлана Владимировна	77.38	45.24
Шихвердиев Ариф Пирвели-оглы	100.00	100.00
Шишкин Дмитрий Павлович	100.00	73.91
Шмарева Мария Борисовна	83.93	64.29
Шоль Николай Рихардович	91.53	72.03
Юрченко Виталий Вячеславович	100.00	96.30
Юрченко Оксана Владиславовна	94.78	74.63
Юрченко Оксана Владиславовна	85.24	65.24
Юхнин Михаил Идрисович	78.05	29.27
Ягубов Зафар Хангусейн оглы	81.16	55.56
Ягубов Эмин Зафар оглы	88.89	88.89
Яковлев Сергей Алексеевич	100.00	79.41"; 
	#endregion
            //TestSetAnket.ImportAnketUspevaemostj(s, 10);

            //Console.Write(T2.SectionTerms[3].CalcIndexes(CCalcControl.GetIndexContextDoctors(T2)));
            //Console.WriteLine();
            //Console.WriteLine();
            //Console.Write(T2.SectionTerms[4].CalcIndexes(CCalcControl.GetIndexContextDoctors(T2)).ToString());

            // добавление преподавателей по колледжам
            //AddPrepod();

            // установка надотдела
            //var k1 = T2.DepartmentTerms.Single(x => x.Department.Abbriviation == "ТК");
            //var k2 = T2.DepartmentTerms.Single(x => x.Department.Abbriviation == "ГНК");
            //var k3 = T2.DepartmentTerms.Single(x => x.Department.Abbriviation == "ПЭЛК");
            //var u = T2.DepartmentTerms.Single(x => x.Department.Abbriviation == "УГТУ");
            ////k1.DepartmentTerm1 = u;
            //SetOver(k1, u);
            //SetOver(k2, u);
            //SetOver(k3, u);

            // добавление ответственных (по колледжам)
            AddResponsibles();

            DB.SubmitChanges();
        }

        void SetOver(DepartmentTerm t, DepartmentTerm u)
        {
            t.DepartmentTerm1 = u;
            t.IDParentDepartmentTerm = u.IDDepartmentTerm;
            u.DepartmentTerms.Add(t);
        }
    }
}